"""f-string 格式控制

基本语法 `f"{变量名:格式控制标记}"`

格式控制标记 `<填充字符><对齐方式><+><宽度><,><.精度><类型>`

- 填充字符 默认是空格，只能是单个字符，需要配合 `宽度` 使用
- 对齐方式 需要配合`宽度`使用：
    - `^` 居中
    - `>` 右对齐
    - `<` 左对齐
- `+` 显示正负号
- 宽度 整数，表示这个字符串的长度
- `,` 千位分隔符
"""

num = 1234
"""填充字符 对齐方式 宽度
以下示例使用=填充 默认使用空格填充
"""
# 左对齐<
print(f'{num:=<10}') # 1234======
# 居中^
print(f'{num:=^10}') # ===1234===
# 右对齐>
print(f'{num:=>10}') # ======1234
# 右对齐> 不指定填充符号使用空格填充
print(f'{num:>10}') #       1234

"""数字显示正负号和千位分隔符
使用=控制对齐方式为符号左对齐，数字右对齐
0视为正数"""
num2 = 0
num3 = -123
# 显示正负号
print(f'{num:+}') # +1234
print(f'{num2:+}') # +0
print(f'{num3:+}') # -123
# 控制对齐方式
print(f'{num3:=+10}') # -      123
# 使用0填充
print(f'{num3:0=+10}') # -000000123
# 使用千位分隔符
print(f'{num:,}') # 1,234
# 使用千位分隔符同时显示正负号
print(f'{num:+,}') # +1,234
# 使用千位分隔符同时显示正负号控制对齐方式和填充
print(f'{num:=+10,}') # +    1,234
print(f'{num:0=+10,}') # +0,001,234

"""控制精度
建议使用占位符字符串
"""
pi = 3.14159
# 保留两位小数
print(f'{pi:.2f}') # 3.14